#!/bin/sh

# 用法提示
if [ -z "$1" ]; then
  echo "Usage: $0 <image_name>"
  exit 1
fi

INPUT="$1"

# 提取 tag（如果有）
IMAGE_TAG=$(echo "$INPUT" | grep -oE ':[^/:]+$')
IMAGE_NO_TAG=$(echo "$INPUT" | sed -E 's/:[^/:]+$//')
TAG=${IMAGE_TAG:-":latest"}

# 拆分出 registry（第一个段落）
REGISTRY=$(echo "$IMAGE_NO_TAG" | cut -d'/' -f1)

# 判断是否包含 registry（带 "." 或 ":" 的一般是 registry 地址）
if echo "$REGISTRY" | grep -qE '(\.|:)' ; then
  if [ "$REGISTRY" = "docker.io" ]; then
    # 是 docker.io 显式指定，从第二段开始取
    REMAINDER=$(echo "$IMAGE_NO_TAG" | cut -d'/' -f2-)
    # 如果只有一段，说明是 docker.io/xxx，需要补 library/
    PARTS=$(echo "$REMAINDER" | awk -F'/' '{print NF}')
    if [ "$PARTS" -eq 1 ]; then
      echo "mirror.ccs.tencentyun.com/library/$REMAINDER$TAG"
    else
      echo "mirror.ccs.tencentyun.com/$REMAINDER$TAG"
    fi
  else
    # 其他 registry，不替换
    echo "$INPUT"
  fi
else
  # 没有 registry（默认 docker.io），判断是否带有用户命名空间
  PARTS=$(echo "$IMAGE_NO_TAG" | awk -F'/' '{print NF}')
  if [ "$PARTS" -eq 1 ]; then
    # 只有一段，比如 mysql → library/mysql
    echo "mirror.ccs.tencentyun.com/library/$IMAGE_NO_TAG$TAG"
  else
    # 已有命名空间
    echo "mirror.ccs.tencentyun.com/$IMAGE_NO_TAG$TAG"
  fi
fi
